/**********************************************************************************************/
// TTrigger_Async.cpp
//
// Asyncronic T Trigger
// Copyright Diamant Group 2007
/**********************************************************************************************/
#include "TTrigger_Async.h"


/**********************************************************************************************/
#ifdef _MANAGED
#pragma managed(push, off)
#endif


/**********************************************************************************************/
/**********************************************************************************************/
dgt_TTrigger_ASync::dgt_TTrigger_ASync()
{
	// Initalialize element

	// Logical table
	m_table.Add( TRVALUE_SAVE );	//0
	m_table.Add( TRVALUE_INVERT );	//1

	// Syncro signal
	m_Sync = false;

	// Name
	m_Name = _( "Asyncronic T Trigger" );

	// Number of inputs
	m_ICount = 1;

	// Number of elements in block
	m_BCount = 1;
}

/**********************************************************************************************/
dgt_TTrigger_ASync::~dgt_TTrigger_ASync()
{

}

/**********************************************************************************************/
wxArrayShort dgt_TTrigger_ASync::get_InpSygnals(bool begValue, bool endValue)
{
	wxArrayShort result;

	// 0 >>> 0 
	if( !begValue && !endValue )
		result.Add( 0 );

	// 0 >>> 1
	if( !begValue && endValue )
		result.Add( 1 );

	// 1 >>> 0
	if( begValue && !endValue )
		result.Add( 0 );

	// 1 >>> 1
	if( begValue && endValue )
		result.Add( 1 );

	return result;
}